#pragma once
#include "tray_msg_item_base.h"

enum tray_sys_msg_type
{
	e_tray_sys_msg_unknown = 0,
	e_tray_sys_msg_add_buddy_invite,
	e_tray_sys_msg_add_buddy_ret,
	e_tray_sys_msg_jion_tribe_invite,
	e_tray_sys_msg_jion_tribe_request,
	e_tray_sys_msg_jion_tribe_result,
	e_tray_sys_msg_user_jion_tribe,
	e_tray_sys_msg_tribe_del_member,
	e_tray_sys_msg_exit_tribe,
	e_tray_sys_msg_dissolve_tribe,
	e_tray_sys_msg_tribe_transfer_power,
};

struct tray_sys_msg_item 
{
	tray_sys_msg_item()
	{
		msg_type = -1;
		msg = "";
	}

	tray_sys_msg_item(int _msg_type, CString _msg)
	{
		msg_type = _msg_type;
		msg = _msg;
	}

	int msg_type;
	CString msg;
};


class tray_msg_item_sys :public tray_msg_item_base
{
public:
	tray_msg_item_sys();
	~tray_msg_item_sys();
public:
	virtual void destroy(){;}
	virtual BOOL execute_msg(LPCTSTR userid);
	virtual void push_msg(void* msg_data);
	virtual void merge(tray_msg_item_base *p);
	virtual void* get_item_data();
	virtual int get_msg_count();

	virtual void display(HWND hwnd, int row);
protected:
	virtual void _get_icon_path();
public:
	tray_sys_msg_item sys_msg;
};
